using System;
using System.Collections.Generic;
using System.Text;

namespace Sandia.MVCFramework.Request
{
    /// <summary>
    /// An interface for objects used to create IRequestParameters.
    /// </summary>
    public interface IRequestParameterFactory
    {
        /// <summary>
        /// Create a request parameter of the given type using the given data.
        /// </summary>
        /// <param name="parameterType">The type of parameter to create.</param>
        /// <param name="data">The data that the parameter will carry.</param>
        /// <returns>The new parameter.</returns>
        IRequestParameter CreateRequestParameter(
            Type parameterType,
            object data);
    }
}
